我目前有 3 个环境:
- DEV(带有 VS2012 和源代码)- 连接到 TEST db
- TEST - 连接到 TEST db
- PROD - 连接到 PROD db
该网站目前在 DEV 和 TEST 上运行良好(已添加内容、小部件等)。
当我尝试推广到 PROD 时,该网站似乎运行良好(那里的所有页面,我可以导航等) - 但是,我根本无法编辑。
例如,在添加新页面/编辑内容时,我会收到此错误:
"An unhandled exception has occurred and the request was terminated. Please refresh the page. If the error persists, go back
could not insert: [Orchard.ContentManagement.Records.ContentItemVersionRecord][SQL: INSERT INTO Orchard_Framework_ContentItemVersionRecord (Number, Published, Latest, Data, ContentItemRecord_id) VALUES (?, ?, ?, ?, ?); select SCOPE_IDENTITY()]
NHibernate.Exceptions.GenericADOException: could not insert: [Orchard.ContentManagement.Records.ContentItemVersionRecord][SQL: INSERT INTO Orchard_Framework_ContentItemVersionRecord (Number, Published, Latest, Data, ContentItemRecord_id) VALUES (?, ?, ?, ?, ?); select SCOPE_IDENTITY()] ---> System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'Id', table 'Orchard.dbo.Orchard_Framework_ContentItemVersionRecord'; column does not allow nulls. INSERT fails."
此外,当我尝试在 PROD 中禁用形状跟踪模块时 - 它会说成功,但是当我检查它时实际上并没有禁用该模块。
这就是我将它发布到 PROD 的方式:
- 使用 build.cmd "compile;package" 在 DEV 上构建项目
- 将 build\Stage 的内容复制到 PROD(App_Data 文件夹只有 _marker.txt 文件)
- 在 PROD 中创建一个空白数据库
- 在 PROD 中打开网站,它要求我输入网站名称、数据库详细信息等。
- 现在,当我打开网站时——它会显示默认的“ThemeMachine”网站——这很好
- 然后,我将数据库从 TEST 复制到 PROD(通过 SQL Server 导出)
- 现在,当我打开网站时,我的网站运行良好,所有页面等,但在尝试编辑内容或添加新页面时出现异常
我该怎么做?