我们正在使用play 2.1.1将新应用程序部署到生产环境中,并且正在解决它的一些实际问题,并且非常有限的文档没有多大帮助......
所以是时候更新到新版本了,我们运行了常用的停止/升级/启动脚本,但是它们失败了.出于某种原因,游戏拒绝应用演变.开始时一直说
哎呀,无法启动服务器.@ 6elnj89fh:数据库'默认'需要进化!
即使我们尝试applyEvolutions.default=true通过命令行和application_prod.conf文件设置它们.它还抱怨说
警告!此脚本包含可能具有破坏性的DOWNS演变
这对我来说没有多大意义,因为我们在版本上升所以不应该应用下降.但似乎这可能是它拒绝应用演变的原因.
在这一点上,我并不那么担心,因为我认为有一些手动方式来应用进化.经过广泛的搜索后,它看起来好像......在游戏1中有支持,但在游戏中没有.2.在开发模式下,您只需按下浏览器中的按钮即可应用演变,但在生产模式下我找不到任何方式手动应用进化.这是真的还是我错过了?我真的认为这是一个重要的功能!(在后面的视线中我可以手动应用脚本并禁用evolutions插件,但之后我会丢失evolutions跟踪,这很有用..)
我也想知道你将如何"支持"你的数据库,因为我相信我们会在某些时候需要做到这一点.如果有一种手动方式来执行此操作,则可能会有一个可选的版本参数来降级数据库.例如,如果您处于版本5并且需要返回到4,那么您将运行play apply-evolutions 4该版本,然后应用版本5的版本并相应地更新evolutions db.我可以手动应用下降,但问题是进化db将再次处于无效状态...
越来越绝望我尝试了所有我能找到的设置再次启动服务器并添加了-DapplyDownEvolutions.default=true选项.我假设这个设置仅在选择降级数据库时会应用下降(虽然似乎没有这样的选项)但实际上做的是应用ups然后立即应用下降(我在故障排除后发现这个服务器现在终于启动了 - 没有任何消息 - 但在访问该站点时给出了一个神秘的错误消息).是这个设置应该做什么?如果是,我无法理解为什么设置甚至存在.我想不出任何你希望在迁移到更新的数据库版本时应用ups然后立即降低的情况.有人可以对这个设置有所了解吗?
此时,我终于可以通过手动重新运行相应的"UP"来再次运行应用程序.
在这一点上,我们正在努力为我们自己的演进处理基本上重新编写脚本,以便更好地控制运行的内容并启用返回..为此能够使用播放功能会更好我希望有人可以对此有所了解.如果没有,也许这个咆哮可以帮助处于类似情况的人......
我正在关注本教程:链接.在第8步,当我.load sos在立即窗口中说,它只是呕吐expected expression.
系统:Win 7 x64,Visual Studio 2012 Premium.我已经安装了适用于Windows的调试工具(x64)11/14/2012,现在我安装了X64调试器和工具.我有适用于Windows 7的Windows SDK(7.1).WinDbg.exe位于c:\ Program Files\Debugging Tools for Windows(x64)\中,我可以从开始菜单启动它.但是我找不到sos.dll,它应该随Windows调试工具(x64)一起提供.
我怎样才能做到这一点?
奖金问题:{,,kernel32}_LoadLibraryExW@12在第4步不起作用,我使用{,,kernel32}LoadLibraryExW,但后来我无法弄清楚加载的dll名称在哪里.我正在寻找寄存器.
我想为需要提升的动作创建一个菜单项.
Windows UI准则声明此类操作应在其旁边显示UAC屏蔽.
如何使用普通的Windows API和C++来做到这一点?
我正在传递一个文件路径到这个写入txt文件的方法.但是当我运行这个程序时,它并没有写满,我不知道我在哪里弄错了.
public void content(String s) {
try {
BufferedReader br=new BufferedReader(new FileReader(s));
try {
String read=s;
while((read = br.readLine()) != null) {
PrintWriter out = new PrintWriter(new FileWriter("e:\\OP.txt"));
out.write(read);
out.close();
}
} catch(Exception e) { }
} catch(Exception e) { }
}
Run Code Online (Sandbox Code Playgroud) Scanner scan = new Scanner(System.in);
System.out.println("Enter up to 5 Tests:");
int test1 = scan.nextInt();
if (test1 > -1){
int test2 = scan.nextInt();
} else {
if (test2 > -1){
int test3 = scan.nextInt();
} else {
if (test3 > -1){
int test4 = scan.nextInt();
} else {
if (test4 > -1){
int test5 = scan.nextInt();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个" test2无法解析为变量" 的编译错误,除了每个变量都会发生这种错误test1.我认为这是因为test2在我们输入值之前不存在.我能做些什么让Java开心?
编译我的作业代码时遇到问题.
当我使用开关菜单的扫描仪输入作为整数值时,do-while工作正常,但由于分配要求,菜单输入需要是char,所以我改变它如下,但它一直给我错误说明变量m找不到.
do {
System.out.println(displayMenu(""));
option = scn.nextLine();
char m = option.charAt(0);
switch (m) {
case 'A': TMA_Q3.enterInput(0); break;
case 'B': System.out.println(" "); break;
case 'C': System.out.println(""); break;
case 'D': System.out.println(""); break;
case 'E': System.out.println(""); break;
case 'F': System.out.println(""); break;
}
} while(m != 'F'); // error occurs on this line stating m is not found
Run Code Online (Sandbox Code Playgroud) java ×3
c++ ×1
file-io ×1
filewriter ×1
if-statement ×1
production ×1
self-hosting ×1
sos ×1
variables ×1
winapi ×1
windbg ×1