问题标签 [ddl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 从现有数据库生成 SQL DDL 和内容的工具
有谁知道一个价格合理的工具,它将创建 DDL 语句来创建 SQL Server 数据库和适当的插入语句来重新创建数据?我使用 Red Gate 工具进行数据库比较(包括内容比较),这很接近(我总是可以与空模式进行比较),但我想知道是否有其他人认为有用的工具可以一步完成。
.net - 最好的独立于数据库的 SQL DDL 实用程序?
我正在为 .net 平台开发一个项目,并希望支持多种数据库类型。我想以通用格式将 DDL 置于源代码控制之下,然后将其转换为特定于数据库的 DDL 以进行部署。
因此,我正在寻找将通用 DDL 转换为特定于数据库的 DDL 的实用程序。理想情况下,它将支持 MSSQL 05/08、MySQL、Oracle、Postgres 和 DB2 开箱即用。
以下是我到目前为止找到的工具:
- XML 到 DDL
- 没有对 MSSQL 的内置支持。
- DdlUtils
- 没有命令行实用程序。必须从 java 或 ant 脚本调用。
- ActiveRecord::迁移
- 不支持外键
- 不确定如何与 .net 项目集成。
有没有人有我提到的或认识其他人的经验?
sql - ALTER TABLE 不锁定表?
在 MySQL 中执行 ALTER TABLE 语句时,整个表在语句执行期间被读锁定(允许并发读取,但禁止并发写入)。如果它是一个大表,则 INSERT 或 UPDATE 语句可能会被阻塞很长时间。有没有办法进行“热更改”,例如添加一列以使表在整个过程中仍可更新?
大多数情况下,我对 MySQL 的解决方案感兴趣,但如果 MySQL 做不到,我会对其他 RDBMS 感兴趣。
澄清一下,我的目的只是为了避免在需要额外表列的新功能被推送到生产环境时出现停机。任何数据库模式都会随着时间而改变,这是不争的事实。我不明白为什么我们应该接受这些变化必然会导致停机。那只是虚弱。
database - 为 Sybase 表和索引生成 DDL
我正在寻找一个命令行工具来为我处理的数据库中的一些 Sybase 表生成表和索引的 DDL(不需要更复杂的东西)。我可以访问用于查看单个 DDL 的 GUI 工具,并且可以剪切和粘贴它们,但是我想要一些能够遍历数据库中所有表并生成一些可以签入 CVS 的漂亮文本文件的东西。
我尝试使用 Sybase 提供的名为 的工具ddlgen
,但它只是抛出如下异常:
这不是很有帮助。我一直在想一定有一个很好的 Perlish 方式来做到这一点,但我不知道那会是什么。
sql - 指定从 GORM 类生成的 DDL 中的字段顺序?
我使用 GORM 从 groovy 类生成我的数据库的 DDL。这是伟大的。但是,生成的 SQL 中的字段顺序与类中字段的顺序是不一样的。例如,如果我创建类
生成以下 SQL(对于 MySQL)
这些字段已按字母顺序排序(在自动生成的 id 和版本字段之后)。在这种情况下这没问题,但我有一些更广泛的表,其中按字段顺序包含重要的上下文信息。
这是我的问题:如何告诉 GORM 按照 groovy 类中的声明顺序对 SQL 中的字段进行排序?
c# - 如何通过 SqlCeCommand 对象禁用 sql server 精简版中的所有表索引?
我正在尝试向 SqlCe 数据库(版本 3.5,哦,使用 C# 3)进行大量批量插入。我尝试了各种方法(表适配器插入、准备好的参数化查询、sqlceresultset 插入等)。正如我在许多网站上所读到的,最快的时间是在表直接模式下使用 SqlCeResultSet 对象。
我想通过在插入之前禁用必要表上的所有索引来进一步加快速度(然后我将在之后重建它们)。我在使 ALTER INDEX 语句工作时遇到问题(以前从未使用过它,所以我确信我忽略了一些简单的东西)。
基本上我已经创建了一个 SqlCeCommandObject 并以下列方式设置了一个 alter 语句(连接对象已经设置并打开等):
当我尝试运行此代码时,出现以下错误:
解析查询时出错。[令牌行号 = 1,令牌行偏移量 = 7,错误令牌 = INDEX]
在我看来,它不理解 alter 语句中的 INDEX 关键字。SqlCe 不支持这个吗?
谢谢
[更新] - 我尝试了其他 DDL 语句(如 DROP INDEX、CREATE INDEX),但我似乎无法让它们中的任何一个工作?就 DDL 语句而言,我一直在到处搜索,试图找到 SSCE 中支持和不支持的内容的列表。没运气。有谁知道这方面的好资源。我必须说,关于 sqlce compact 3.5 版的 MS 文档毫无用处...
c# - 发布时混淆源代码 (C#)
我们正在开发许多正在向我们的客户发布的产品。但是,如果您发布 C# 应用程序,则所有 dll 都可以使用反射器或某种方式进行反编译。
我想知道是否有一种简单的方法可以在发布时加密我们的 dll。这样我们就可以发布我们的dll,而不必担心我们的客户反编译我们的代码。
ps:如果可以将它集成到视觉工作室中,那就太棒了。
编辑:对双重帖子感到抱歉,我不知道它被称为“混淆”。
oracle - 在存储过程中截断表
当我在 Oracle shell 中运行以下命令时,它工作正常
但是当我尝试将其放入存储过程中时
它失败了
为什么?
nhibernate - 流畅的休眠模式生成
作为 S#arp 架构的一部分,我一直在使用 FluentNhibernate。下面是一个示例映射。
然后我使用 Nhibernate 模式生成将我的 ddl 输出到文件。
到现在为止还挺好。但是,为该表生成的 ddl 不匹配,实际上包含错误。
- 即使我试图强制它使用 INT,枚举状态也表示为字符串
- 电话号码长度与映射不匹配。
我想知道如何进行调试。这是 FluentNH 中的映射问题还是模式生成器的问题。如果我可以输出生成的 xml,那么我可以验证。有谁知道如何做到这一点?
谢谢,
sql-server - DDL 在 SQL Server 2005 上的 IF NOT EXISTS 语句内未正确执行
我有一个相当复杂的数据库,需要部署到各种服务器上,这些服务器上可能已经实现了数据库的现有部分,也可能没有。为了解决这种意外情况,我设置了以下测试:
最终结果始终是:
如果我测试 IF 语句,它可以正常工作:
同样,当我测试 CREATE TABLE 脚本时。但是当我将 CREATE TABLE 脚本放在 begin..end 块内时,它每次都会失败。而且我有一个全面的问题,几乎每个使用这种方法的表都失败了。