我有两个数据库some-db-dev和some-db-qa。这两个数据库彼此相同。
我为两个数据库都创建了DACPAC文件。分别是some-db-dev.dacpac和some-db-qa.dacpac。(其中表为“ A”,列为“ Test”。表中还包含一些虚拟记录。)
此后,我执行了以下步骤:
从some-db-dev数据库中将表“ A”重命名为“ ARenamed”。
生成了“ some-db-dev”的DACPAC并将其存储为名称“ some-db-dev”
我在命令下受了火:-
sqlpackage /a:Script /sf:"C:\Users\some.user\Desktop\some-db-dev.dacpac" /tf:"C:\Users\some.user\Desktop\some-db-qa.dacpac" /tdn:"some-db-qa" /op:"C:\Users\some.user\Desktop\diffscript.sql"
观察:-
代替重命名在步骤1中修改的表。它生成了创建表的脚本,如下所示。
`GO
PRINT N'Creating [dbo].[ARenamed]...';
GO
CREATE TABLE [dbo].[ARenamed] (
[Id] NCHAR (10) NULL,
[Name] NCHAR (10) NULL,
[Test] NCHAR (10) NULL
);`
我使用的命令有问题吗?
任何帮助都是有意义的。
答案 0 :(得分:0)
我认为您需要改用require '../vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$reader->setReadDataOnly(TRUE);
$spreadsheet = $reader->load(strip_tags($your_file));
$worksheet = $spreadsheet->getActiveSheet();
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
$sheetData = $worksheet->rangeToArray(
'A2:' . $highestColumn . $highestRow,
NULL,TRUE,FALSE
);
print_r($sheetData);
。这是一个如何生成脚本项目与数据库的示例。
MSBuild
答案 1 :(得分:0)
要在SSDT中重命名表,您需要使用重构工具“右键单击表并进行重构重命名”。这会发生什么情况,这会在“ RefactorLog.xml”中添加一个条目-如果您有一个条目,那么在创建部署时会生成sp_rename
,其他人将获得此处看到的内容,然后创建。
请参阅:https://the.agilesql.club/2016/09/refactoring-in-sql-server-data-tools-ssdt/
最后一部分“重命名对象”显示了如何做到这一点。
Ed