2013-01-05 17 views
12

Làm cách nào để tôi có thể thay đổi cột bằng cách di chuyển trôi chảy với giá trị thời gian ngày mặc định là ngày giờ hiện tại?Trình di chuyển thành thạo. Làm thế nào để thêm cột datetime với giá trị mặc định là ngày hiện tại?

Vì vậy, tôi cần SMTH như thế này:

ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;

chỉ dành cho di dân thông thạo. Cảm ơn.

+0

Câu trả lời hay sau khi điều tra ngắn: bạn nên sử dụng phương pháp mở rộng WithDefault (SystemMethods.CurrentDateTime) trong đó SystemMethods có thể là một trong: CurrentDateTime, CurrentUTCDateTime, NewGuid, NewSequentialId. – Seth

Trả lời

6

Có thể bạn đã tìm thấy tài liệu cho SystemMethods on the wiki. Tôi vừa cập nhật nó để nó phản ánh phiên bản mới nhất của FluentMigrator.

Chỉ muốn chỉ ra rằng đây là những cơ sở dữ liệu cụ thể và chỉ Sql Server có tất cả năm SystemMethods thực hiện. Điều này làm cho việc di chuyển của bạn kém di động vì nó không còn là chuẩn sql được tạo ra và một số SystemMethods không được hỗ trợ cho các cơ sở dữ liệu khác (ví dụ như CurrentUser không thể có trong MySql).

Nếu bạn thấy sự cần thiết đối với bất kỳ người khác thì vui lòng đăng nhập nó như là một vấn đề trên trang web của Github FluentMigrator và chúng tôi sẽ cố gắng và thêm nó vào

5

Thấy là câu trả lời không thực sự bao gồm bất kỳ mã:.

Create.Table(nameof(Report)) 
     .WithColumn(nameof(Report.Id)).AsInt32().NotNullable().PrimaryKey().Identity() 
     .WithColumn(nameof(Report.CreatedAt)).AsDateTime().Nullable() 
              .WithDefault(SystemMethods.CurrentDateTime); 

Phương thức WithDefault(SystemMethods) là solutoin.