Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以对另一个DB模式使用JOOQ生成的代码吗?_Java_Ruby On Rails_Jooq - Fatal编程技术网

Java 我可以对另一个DB模式使用JOOQ生成的代码吗?

Java 我可以对另一个DB模式使用JOOQ生成的代码吗?,java,ruby-on-rails,jooq,Java,Ruby On Rails,Jooq,我使用JOOQ访问Rails数据库,正如您所知,Rails有三个db模式,“测试”、“开发”和“生产”。现在让我们将这些模式称为TEST、DEV和PROD 现在,我已经在library.xml中使用(几乎)这个设置生成了针对DEV的代码 <jdbc> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://<ip-address>:3306/data_dev</ur

我使用JOOQ访问Rails数据库,正如您所知,Rails有三个db模式,“测试”、“开发”和“生产”。现在让我们将这些模式称为TEST、DEV和PROD

现在,我已经在library.xml中使用(几乎)这个设置生成了针对DEV的代码

<jdbc>
  <driver>com.mysql.jdbc.Driver</driver>
  <url>jdbc:mysql://<ip-address>:3306/data_dev</url>
  <user>secret</user>
  <password>secret</password>
</jdbc> 
现在我想针对PROD运行代码,它的结构相同,但当然有生产数据

然而,即使我将连接URL更改为schema PROD,我似乎仍然可以访问DEV?生成的代码是否硬编码到DEV数据库


我不知道如何继续。

显然,您可以在运行时更改映射的数据库


我在文档中完全忽略了这一点。不过还是要感谢大家的帮助……

这段java代码与rails有什么关系?DB只是一个DB,你使用了错误的URL。JOOQ是一个用于访问数据库的Java库,我相信你知道吗?我刚才解释了为什么我用相同的代码使用不同的模式。我的经验是,我必须解释这样的细节,以避免一堆“你为什么这么做,你想做什么”的问题。请在你说URL错误的那部分解释一下?
String url = "jdbc:mysql://" + 
    db_host + "/" + 
    db_schema + "?" + 
    "user=" + db_user + 
    "&password=" + db_pass;

conn = DriverManager.getConnection(url);
dsl = DSL.using(conn, SQLDialect.MYSQL);