타임스탬프 바로 가기 추가

5093 단어 ruckusing-migrations

묘사

제가 얼마 전에 이 요구를 했는데 오해를 받았나 봐요.
이것은 잠재적인 활동 기록의 내장 기능이라기보다는 편리/표준적인 기능이다.프로젝트의 어느 순간에, 사용자나 주문서와 같은 타임 스탬프에 생성된 와 업데이트된 를 저장해야 할 수도 있습니다.이 내장 함수는 이 점을 실현하는 데 매우 쉽게 도움을 줄 수 있다.
$this->timestamps();
및.
$this->column('created_at', 'datetime');
$this->column('updated_at', 'timestamp', array("null" => false, 'default' => 'CURRENT_TIMESTAMP', 'extra' => 'ON UPDATE CURRENT_TIMESTAMP');
이 패치에는 MySQL 어댑터extra 옵션의 구현과 명령 기본값CURRENT_TIMESTAMP

토론 #1

에 대한 지원도 포함되어 있습니다. 아주 좋아 보입니다. 감사합니다.
테스트에 장애가 발생했습니다.
https://travis-ci.org/ruckus/ruckusing-migrations/jobs/49239950
PG 테스트에는 테스트 테이블 작성을 위한 MySQL 구문이 있기 때문입니다.
1) PostgresAdapterTest::test_add_timestamps
pg_query(): Query failed: ERROR:  syntax error at or near "`"
LINE 1: CREATE TABLE `users` ( name varchar(20) );
너는 테스트를 업데이트할 수 있니? 트라비스가 녹색일 때, 나는 그것을 합쳐 넣을 것이다.감사합니다!

토론 #2

필드 이름에 덮어쓰기를 추가할 수 있습니까?CakePHP
예를 들어, 프레임은 "created at"대신 created를 사용하기 때문에
많은 분들이 이 지름길이 도움이 안 된다고 생각하시잖아요.
초과 제어가 없다.
예를 들어 $this->timestamps('modified','created').
감사합니다,
케빈

Cody Caughlan mailto:[email protected] February 3, 2015 at 11:04 AM

This looks great - thank you so much.

The tests are failing:

https://travis-ci.org/ruckus/ruckusing-migrations/jobs/49239950

The reason is the PG test has MySQL syntax for creating a test table:

|1) PostgresAdapterTest::test_add_timestamps pg_query(): Query failed: ERROR: syntax error at or near "" LINE 1: CREATE TABLEusers` ( name varchar(20) ); |

Can you please update the test - and when Travis is green I'll merge it in. Thanks!

— Reply to this email directly or view it on GitHub https://github.com/ruckus/ruckusing-migrations/pull/148#issuecomment-72677280.

Capripot mailto:[email protected] February 2, 2015 at 5:00 PM

I did this request some time ago already and it got misunderstood probably. This is more a convenience/standard function than a built-in for an potential active record. There is a high chance that at some point in a project you need to save created_at and updated_at timestamps for, say a /user/ or an /order/. This built-in function can help doing that very easily.

|$this->timestamps(); |

vs.

|$this->column('updated_at', 'timestamp', array("null" => false, 'default' => 'CURRENT_TIMESTAMP', 'extra' => 'ON UPDATE CURRENT_TIMESTAMP'); $this->column('created_at', 'datetime'); |

This patch includes also implementation of |extra| option for MySQL adapter and the support of command default value |CURRENT_TIMESTAMP|


You can view, comment on, or merge this pull request online at:

https://github.com/ruckus/ruckusing-migrations/pull/148

Commit Summary - Add convenient methods for adding potentially usefull timestamp columns - Add SQLite3 implementation

File Changes - M lib/Ruckusing/Adapter/Interface.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-0 (18) - M lib/Ruckusing/Adapter/MySQL/Base.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-1 (47) - M lib/Ruckusing/Adapter/MySQL/TableDefinition.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-2 (10) - M lib/Ruckusing/Adapter/PgSQL/Base.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-3 (42) - M lib/Ruckusing/Adapter/Sqlite3/Base.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-4 (35) - M lib/Ruckusing/Adapter/Sqlite3/TableDefinition.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-5 (11) - M lib/Ruckusing/Migration/Base.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-6 (24) - M tests/unit/MySQLAdapterTest.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-7 (52) - M tests/unit/PostgresAdapterTest.php https://github.com/ruckus/ruckusing-migrations/pull/148/files#diff-8 (52)

Patch Links: - https://github.com/ruckus/ruckusing-migrations/pull/148.patch - https://github.com/ruckus/ruckusing-migrations/pull/148.diff

— Reply to this email directly or view it on GitHub https://github.com/ruckus/ruckusing-migrations/pull/148.

토론 #셋

@kevinc1984는 완전히 일리가 있다.잘 받았어.

토론 #4

PG와의 통합을 완료했고 열 이름을 덮어쓰는 지원을 추가했습니다.
TableDefinition 바로 가기에 테스트를 추가하고 PG 테스트의 열 info를 수정했습니다. 이 열은 다른 테스트처럼 null이 아닌 빈 그룹을 되돌려줍니다.

토론 #5

감사합니다!

좋은 웹페이지 즐겨찾기